package com.azt.provider.mapper;

import com.azt.api.pojo.Admin;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

import java.util.List;
import java.util.Map;

public interface AdminMapper extends Mapper<Admin>,MySqlMapper<Admin> {
	
	/**
	 * 根据名称查
	 * @param name
	 * @return
	 * @author 张栋  2016年9月7日下午3:30:59
	 */
	Admin getAdminByName(String name);

	/**
	 * 根据adminid 查询对应的功能地址
	 * @param adminId
	 * @return
	 * @author 张栋  2016年9月7日下午3:32:28
	 */
	List<String> getFunctionPathByAdminid(int adminId);

	/**获取所有管理员信息
	 * @return
	 * @author 张栋  2016年9月7日下午3:36:28
	 */
	List<Admin> getAllAdmin();

	/**根据id获取管理员
	 * @param id
	 * @return
	 * @author 张栋  2016年9月7日下午3:39:08
	 */
	Admin getAdminById(Integer id);



	/**
	 * 根据登陆的adminId获取菜单权限Id
	 * @param adminId
	 * @return
	 */
	Integer selectRoleByAdminId(@Param("adminId") int adminId);


	/**
	 * 周期内询价情况
	 * @param st
	 * @param et
	 * @return
	 */
	Map<String, Object> selectEnquiryWeekReport(@Param("st") String st, @Param("et") String et);

	/**
	 * 年询价数据
	 * @param year
	 * @return
	 */
	Map<String, Object> selectEnquiryYearReport(@Param("year") String year);

	/**
	 * 总询价数据
	 * @return
	 */
	Map<String, Object> selectEnquiryTotalReport();


	/**
	 * 周期内订单情况
	 * @param st
	 * @param et
	 * @return
	 */
	Map<String, Object> selectOrderWeekReport(@Param("st") String st, @Param("et") String et);

	/**
	 * 年订单数据
	 * @param year
	 * @return
	 */
	Map<String, Object> selectOrderYearReport(@Param("year") String year);

	/**
	 * 总订单数据
	 * @return
	 */
	Map<String, Object> selectOrderTotalReport();

	/**
	 * 周期内订单情况
	 * @param st
	 * @param et
	 * @return
	 */
	Map<String, Object> selectSelfOrderWeekReport(@Param("st") String st, @Param("et") String et);

	/**
	 * 年订单数据
	 * @param year
	 * @return
	 */
	Map<String, Object> selectSelfOrderYearReport(@Param("year") String year);

	/**
	 * 总订单数据
	 * @return
	 */
	Map<String, Object> selectSelfOrderTotalReport();

	Map<String, Object> selectPurForWeek(@Param("st") String st, @Param("et") String et);
	Map<String, Object> selectPurForYear(@Param("year") String year);
	Map<String, Object> selectPurForTotal();
	Map<String, Object> selectProForWeek(@Param("st") String st, @Param("et") String et);
	Map<String, Object> selectProForYear(@Param("year") String year);
	Map<String, Object> selectProForTotal();

	Map<String, Object> selectVipForWeek(@Param("st") String st, @Param("et") String et);
	Map<String, Object> selectVipForYear(@Param("year") String year);
	Map<String, Object> selectVipTotal();

	
	
}